Connecting to different network types through a common user interface

ABSTRACT

Described is a technology by which network connections are unified into a single user interface for user interaction with those networks. Upon receiving information identifying available networks that correspond to different types of media, a user interface component aggregates the available network connections and displays representations of the available network connections on the user interface. The result is a single user interface page on which the available networks are represented as available network connections that may correspond to destinations, for example by displaying a network name and/or a user-friendly name maintained in a network profile. Also displayable is connectivity status, security-related information, signal strength information for wireless network connections, and other information. The user may choose to show all available network connections, or only subset of the available network connections (e.g., only wireless, or only dial-up and VPN).

CROSS REFERENCE TO RELATED APPLICATION

The present invention claims priority to U.S. provisional patentapplication Ser. No. 60/717,703, filed Sep. 16, 2005, which is herebyincorporated by reference.

BACKGROUND

In contemporary computer systems and networking, computer users viewnetworks from the perspective of the network source, e.g., what the userneeds to do to make a connection. For example, a host machine typicallyhas one or more network interface cards (NICs), each of which provides adifferent type of connectivity corresponding to a network connection.

In general, each of these types of network connections provides its ownuser experience. For example, in Microsoft Corporation's Windows® XPoperating system, there are separate user interfaces for remote accessservice (RAS) dial-up connections, RAS PPPoE (Point-to-Point Protocolover Ethernet) connections, RAS VPN (virtual private network)connections, RAS connection manger dial-up/VPN connections, wireless802.11 connections, wireless wide area network connections (e.g.,GSM/CDMA), Wi-Max 802.16 connections, and Bluetooth® personal areanetwork connections. Moreover, the user typically had to go to differentplaces to locate the user interface to connect to each one, and eachuser interface tended to work differently from the others.

As computing in general becomes more service oriented, the user'svarious network connections can be considered a service with a multitudeof providers. Many users are confused and frustrated when dealing withnetwork connections, because in general the current user interface modelof having different user interfaces for different network connectionsdoes not match a service-oriented, network destination computing model.

SUMMARY

This Summary is provided to introduce a selection of representativeconcepts in a simplified form that are further described below in theDetailed Description. This Summary is not intended to identify keyfeatures or essential features of the claimed subject matter, nor is itintended to be used in any way that would limit the scope of the claimedsubject matter.

Briefly, various aspects of the subject matter described herein aredirected towards a technology by which network connections are unifiedinto a single user interface for user interaction with those networks.An aggregator obtains network related information from a plurality ofmedia modules, including media modules corresponding to different typesof network. A user interface component coupled to (or part of) theaggregator component displays representations of available networkconnections for different network types at a common interactive page.

To this end, upon receiving information identifying available networksthat correspond to different types of media, a user interface componentand/or the aggregator aggregates the available network connections anddisplays representations of the available network connections on theuser interface. The result is a single user interface page on which theavailable networks are represented as available network connections thatmay correspond to destinations, for example by displaying a network nameand/or a user-friendly name maintained in a network profile. Alsodisplayable is connectivity status, security-related information, signalstrength information for wireless network connections, and otherinformation.

By interacting with the page, the user may connect to or disconnect fromany available network. As other examples of interaction, the user maychoose to show all available network connections, or only subset of theavailable network connections (e.g., only wireless, or only dial-up andVPN), or obtain additional information by interacting with the page.

Other advantages may become apparent from the following detaileddescription when taken in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and not limitedin the accompanying figures in which like reference numerals indicatesimilar elements and in which:

FIG. 1 shows an illustrative example of a general-purpose computingenvironment into which various aspects of the present invention may beincorporated.

FIG. 2 is a representation of an example architecture for displayingand/or enabling connection to different network types through a commonuser interface.

FIG. 3 is a representation of example components for displaying and/orenabling connection to different network types through a common userinterface.

FIG. 4 is a representation of using profile information and filtering toselectively display available network information.

FIGS. 5-10 are representations of a user interface page in variousstates as controlled by user interaction and network availability andevents.

DETAILED DESCRIPTION

Exemplary Operating Environment

FIG. 1 illustrates an example of a suitable computing system environment100 on which the invention may be implemented. The computing systemenvironment 100 is only one example of a suitable computing environmentand is not intended to suggest any limitation as to the scope of use orfunctionality of the invention. Neither should the computing environment100 be interpreted as having any dependency or requirement relating toany one or combination of components illustrated in the exemplaryoperating environment 100.

The invention is operational with numerous other general purpose orspecial purpose computing system environments or configurations.Examples of well known computing systems, environments, and/orconfigurations that may be suitable for use with the invention include,but are not limited to: personal computers, server computers, hand-heldor laptop devices, tablet devices, multiprocessor systems,microprocessor-based systems, set top boxes, programmable consumerelectronics, network PCs, minicomputers, mainframe computers,distributed computing environments that include any of the above systemsor devices, and the like.

The invention may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include routines,programs, objects, components, data structures, and so forth, whichperform particular tasks or implement particular abstract data types.The invention may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in local and/or remotecomputer storage media including memory storage devices.

With reference to FIG. 1, an exemplary system for implementing theinvention includes a general purpose computing device in the form of acomputer 110. Components of the computer 110 may include, but are notlimited to, a processing unit 120, a system memory 130, and a system bus121 that couples various system components including the system memoryto the processing unit 120. The system bus 121 may be any of severaltypes of bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. By way of example, and not limitation, such architecturesinclude Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video ElectronicsStandards Association (VESA) local bus, and Peripheral ComponentInterconnect (PCI) bus also known as Mezzanine bus.

The computer 110 typically includes a variety of computer-readablemedia. Computer-readable media can be any available media that can beaccessed by the computer 110 and includes both volatile and nonvolatilemedia, and removable and non-removable media. By way of example, and notlimitation, computer-readable media may comprise computer storage mediaand communication media. Computer storage media includes volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information such as computer-readableinstructions, data structures, program modules or other data. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canaccessed by the computer 110. However, computer storage media does notinclude carrier waves or signals. Communication media typically embodiescomputer-readable instructions, data structures, program modules orother data in a modulated data signal such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media. Combinations of the any of the above should also beincluded within the scope of computer-readable media.

The system memory 130 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 131and random access memory (RAM) 132. A basic input/output system 133(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 110, such as during start-up, istypically stored in ROM 131. RAM 132 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 120. By way of example, and notlimitation, FIG. 1 illustrates operating system 134, applicationprograms 135, other program modules 136 and program data 137.

The computer 110 may also include other removable/non-removable,volatile/nonvolatile computer storage media. By way of example only,FIG. 1 illustrates a hard disk drive 141 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 151that reads from or writes to a removable, nonvolatile magnetic disk 152,and an optical disk drive 155 that reads from or writes to a removable,nonvolatile optical disk 156 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 141 is typically connectedto the system bus 121 through a non-removable memory interface such asinterface 140, and magnetic disk drive 151 and optical disk drive 155are typically connected to the system bus 121 by a removable memoryinterface, such as interface 150.

The drives and their associated computer storage media, described aboveand illustrated in FIG. 1, provide storage of computer-readableinstructions, data structures, program modules and other data for thecomputer 110. In FIG. 1, for example, hard disk drive 141 is illustratedas storing operating system 144, application programs 145, other programmodules 146 and program data 147. Note that these components can eitherbe the same as or different from operating system 134, applicationprograms 135, other program modules 136, and program data 137. Operatingsystem 144, application programs 145, other program modules 146, andprogram data 147 are given different numbers herein to illustrate that,at a minimum, they are different copies. A user may enter commands andinformation into the computer 110 through input devices such as atablet, or electronic digitizer, 164, a microphone 163, a keyboard 162and pointing device 161, commonly referred to as mouse, trackball ortouch pad. Other input devices not shown in FIG. 1 may include ajoystick, game pad, satellite dish, scanner, or the like. These andother input devices are often connected to the processing unit 120through a user input interface 160 that is coupled to the system bus,but may be connected by other interface and bus structures, such as aparallel port, game port or a universal serial bus (USB). A monitor 191or other type of display device is also connected to the system bus 121via an interface, such as a video interface 190. The monitor 191 mayalso be integrated with a touch-screen panel or the like. Note that themonitor and/or touch screen panel can be physically coupled to a housingin which the computing device 110 is incorporated, such as in atablet-type personal computer. In addition, computers such as thecomputing device 110 may also include other peripheral output devicessuch as speakers 195 and printer 196, which may be connected through anoutput peripheral interface 194 or the like.

The computer 110 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer180. The remote computer 180 may be a personal computer, a server, arouter, a network PC, a peer device or other common network node, andtypically includes many or all of the elements described above relativeto the computer 110, although only a memory storage device 181 has beenillustrated in FIG. 1. The logical connections depicted in FIG. 1include one or more local area networks (LAN) 171 and one or more widearea networks (WAN) 173, but may also include other networks. Suchnetworking environments are commonplace in offices, enterprise-widecomputer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 110 is connectedto the LAN 171 through a network interface or adapter 170. When used ina WAN networking environment, the computer 110 typically includes amodem 172 or other means for establishing communications over the WAN173, such as the Internet. The modem 172, which may be internal orexternal, may be connected to the system bus 121 via the user inputinterface 160 or other appropriate mechanism. A wireless networkingcomponent 174 such as comprising an interface and antenna may be coupledthrough a suitable device such as an access point or peer computer to aWAN or LAN. In a networked environment, program modules depictedrelative to the computer 110, or portions thereof, may be stored in theremote memory storage device. By way of example, and not limitation,FIG. 1 illustrates remote application programs 185 as residing on memorydevice 181. It may be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computers may be used.

An auxiliary display subsystem 199 may be connected via the userinterface 160 to allow data such as program content, system status andevent notifications to be provided to the user, even if the mainportions of the computer system are in a low power state. The auxiliarydisplay subsystem 199 may be connected to the modem 172 and/or networkinterface 170 to allow communication between these systems while themain processing unit 120 is in a low power state.

Connecting to Different Network Types

Various aspects of the technology described herein are directed towardsrepresenting networks in a new way that facilitates a user's ability toselectively connect to those networks. In one general aspect, each mediareports the network or networks that are currently connectable throughthat media's interface, and a user interface aggregates the networks forpresenting to a user, whereby the user may intuitively select a networkbased on the media type. For example, if the user's computer haswireless media capabilities, a dial-up modem and an Ethernet connection,a main user interface page may present wireless networks, dial-upnetworks and an Ethernet wired broadband network; the user can connectto a selected network via the main user interface page. Moreover, thenetwork connections may be presented with a friendly, destination-basedname, such as “work,” “meeting” and so forth. The main user interfacepage exemplified herein also serves as a mechanism for showing modifieduser interface pages, such as a page that only shows wireless networks,or one that only shows dial-up and VPN networks. Note that as usedherein, the term “page” is not limited to any particular type of visibleoutput, but instead refers to any display output that can be interactedwith via a pointing device or the like, including windows, HTML-basedpages or the like, program windows, and so forth.

As will be understood, however, the various aspects described herein arenot limited to any particular concepts or examples. For example, onearchitecture exemplified herein is extensible to handle future networkconnections, beyond those currently implemented, and thus the variousnetwork connections shown herein are only non-limiting examples.Similarly, the user interface displays shown herein are only examples.As such, any of the examples, structures or functionalities describedherein are non-limiting, and the present invention may be used variousways that provide benefits and advantages in computing, datacommunication, programs, and networking in general.

FIG. 2 conceptually represents a user interface and architecture thatmakes it easier for users to connect to different networks, including bygrouping separate connections into groups of networks whereby a user nolonger needs to understand which connection to select when connecting toa particular network destination. For example, if a user selects anetwork named “work,” the underlying architecture will automaticallyconnect the appropriate connection. This includes disconnecting othernetworks as necessary. For the user, the user interface changes thefocus from connection (source)-based networking to destination-basednetworking, thus simplifying network connections.

In FIG. 2, a view available networks component 200 includes userinterface code 204 and an aggregator 206. The user may use a wizard 208or the like to construct an appropriate user interface for a givencomputer system and the user's networks. Note that the view availablenetworks page that results is sometimes alternatively referred to as aquick connect dialog.

The aggregator 206 pulls together the various network connection data byworking with media specific modules 210 ₁-210 _(n), such as one forwireless media, one for RAS media and so forth. In general, in oneimplementation each media type has its own media module that plugs intothe aggregator 206, such as by using well-known component object model(COM) technology to connect COM objects. Note that each module alsoinforms the aggregator 206 when connected to a network.

In turn, each module (e.g., module 2102) is associated with at least oneconnection flow engine 212, and there is a connection flow engine foreach connection type, e.g., there is a connection flow engine for RAS,and within that connection flow engine for RAS is another connectionflow engine for dialup, another for PPPoE, another for VPN, and soforth. In general, the connection flow engines contain logic forperforming operations and updating the aggregator 206, e.g., whatactions to take when the user clicks connect, what to aggregate, how tomodify the main user interface page, what actions to take when the userclicks disconnect, and so forth. Note that this connection flow enginemodel facilitates extensibility, in that, for example, a third partyvendor can supply a connection flow engine and update the user interfaceas a frame with new content or pages, rather than provide a separate setof dialogs for a new connection type.

FIG. 3 exemplifies a more specific example network connect architecture,and FIG. 4 shows an available network profile service architecture fornetworks to which the user has previously connected or configured andwants information maintained for such networks. Note that while ingeneral, the network connect architecture of FIG. 3 is directed towardscollecting current network information and providing that information touser interface components, FIG. 3 also includes network profileconcepts.

In one example implementation, the view available user interfacecomponent 202 is included as part of a program 302 (e.g., an operatingsystem component) by which a user interacts with other operating systemcomponents and the like, e.g., explorer.exe in a Windows®-basedoperating system as represented in FIG. 3. Note that a connect wizard309 is represented in FIG. 3, e.g., for connecting to previously-creatednetwork connections. Another set of network-related components includingthe media modules 310 ₁ and 310 ₂ are contained within another networkservice program 304, (e.g., another operating system component), e.g.,svchost.exe. As can be readily appreciated, however, there is norequirement that the components be arranged in the example manner shownin FIG. 3, and indeed, there may be only one program that performs allof the operations that the components perform, or any practical numberof fewer or more additional components that perform the operationsdescribed herein; moreover, any such components may be separated orcombined in virtually way.

In general, and as described above, the user interface components 302obtain information from the network service program 304 as to whichnetworks are currently available with respect to being able to make aconnection. Note that in FIG. 3 the media modules are indirectly coupledto the view available networks UI component 202, e.g., via active andavailable network profile modules 312 and 314, respectively, to allowfor filtering at this service level as to which networks are active andwhich are available, including those having information maintainedtherefor in a network profile store 316. For example, the view availablenetworks UI component 202 may be an in-process COM module, with othermodules also loaded in-process. Each media module 310 ₁-310 _(n) maycommunicate with their respective services (e.g., available network COMmodules 310 ₁-310 _(n)) through some out-of-process method of their ownchoosing.

Note that availability depends on various criteria, including the typeof media components currently installed in the computer system, e.g.,wireless NIC, Ethernet NIC, dial-up modem and so forth, as well as wherethe user is located and what is available, e.g., whether any wirelessnetworks are detected, whether there is a LAN connection, and so forth.

FIG. 4 shows an example concept of profiles and filtering in moredetail. The wizards and/or a user may interact with the network profilestore 316 via a network profile service 420, to do things like give afriendly name to a network. The media modules 210 report networkavailability to the available network profiles service (e.g., over anIAvailableNetworks interface), where the availability information isthen processed in conjunction with the network profile store data tofilter out unavailable networks and/or report profiles for availablenetworks when a network or networks for a profile are available. Thus,in the example of FIG. 4, networks A-E are available, and what isfiltered and reported to the view available networks UI is network C,profile X which contains networks A and D, and profile Y which containsnetworks B and E.

To simplify a user's networking experience, FIG. 5 shows an exemplaryuser interface page 500, which along with the structure andfunctionality described with reference to FIG. 2-4 facilitateconnections, essentially by unifying the various available networkingconnection into the single user interface page 500. The page 500 servesas a main entry point for connecting to a new or existing network.

As described above, although not required to implement the viewavailable networks UI interface 500, to simplify the connectionexperience and to give it a more unified feel, the UI page 500 may bebuilt and operated using a wizard framework, e.g., comprising the createwizard 208 and connect wizard 209. As can be readily appreciated, such awizard framework allows the connection experience to flow essentiallyseamlessly from the view available networks UI page 500 to individualconnection pages, giving a user a consistent look and feel along with abetter understanding of where the user is in a given connection process.

As also described above, information on available networks may includeavailable network profile information and data on profile constituents.Thus, the view available networks UI 500 may be configured to provide asingle entry point for the user to view network destinations, that is,the view available networks UI page 500 may display available networkprofiles along with available networks. Further, as described below, theview available networks UI page 500 may be used to view subsets of thisinformation, such as all wireless networks, all ad hoc networks, or allWi-Max networks, and so forth.

By incorporating the above aspects, the view available networks UIcomponent 202 thus provides the centralized connection UI page 500 foressentially all connections, as well as network profile types. Thisincludes presenting users with a single interface for existing networktypes, as well as future types not currently implemented, (e.g.,Wireless Wide Area Networking or WWAN, Wi-Max, and the like). To thisend, the example user interface is extensible, in that third parties(e.g., independent hardware vendors, or IHVs in FIG. 3) may plug in newmedia types, and have them display as either available networks or pluginto a network profile. This avoids the problem of having users learnmultiple connection experiences or install/learn third party clients,instead using the same UI page 500 to simply and easily connect tonetworks.

As can be seen in the example of FIG. 5, the view available networks UIpage 500 provides a simple way for users to select and connect (e.g.,via a button 502) to a network. The page 500 may display (via scrollingas necessary) all available networks profiles from the network profilestore 316, such as wireless networks profiles, Ethernet connections(e.g., derived from NLAv2 signatures), RAS dial-up, VPN & CMconnections, available infrastructure networks (e.g., 802.11 wireless),available ad-hoc networks (e.g., 802.11 wireless). Available WWANnetworks (e.g., GSM/CDMA) may also be presented, and may correspond todata network types for GPRS, EDGE, UMTS, HSDPA, 1xRTT, 1xEV-DO, 1xEV-DV,as well as future supported data types.

As also shown, the page 500 may include additional attributes, includingthat that a user can easily identify a network, a user can easilyidentify the security status of a network, and a user can easilyidentify which networks are currently connected or available. Links todiagnostic and other useful information may be provided.

For example, the network list area 506 contains a list of all networksthat were visible at the time the dialog was opened, or when list waslast refreshed. The list area 506 may display an icon for each network,a customized network profile icon (from the profile service), acustomized wireless icon (e.g., from a WISP provider), a defaultwireless icon (new 802.11 wireless networks), a default ad hoc wirelessicon (new ad-hoc 802.11 wireless networks), a customized WWAN Icon(e.g., from a cellular provider), a customized Wi-Max icon (e.g., from aWi-Max provider), and default icons for UWB, Bluetooth® PAN, RASdial-up, RAS VPN, RAS CM and/or RAS PPPoE. In one exampleimplementation, the framework allows for networks to appear or disappearvia an auto-update/notification mechanism.

The exemplified network list 506 also may display a name for eachnetwork in the list, including a network profile name (from the networkprofile service 316), an SSID (service set identification information)for new available 802.11 wireless networks (e.g., ad hoc/infra), theSSSID (the friendly name for WPS networks from a WISP provider), andconnection names for RAS dial-up, VPN, CM & PPPoE connections.

As represented in FIG. 6, if the device is currently connected to anetwork, the text “Connected” (or other suitable state message) isdisplayed next to that network. Note that FIG. 6 also shows a subset ofthe available networks being displayed, e.g., the user has chosen todisplay only wireless connections via a drop down list 508 (FIG. 7).

In one implementation, the network (or networks) that is connected aredisplayed at the top of the list area 506, regardless of type. For aconsistent user experience, other ordering rules may be used fordisplaying items in the network list, such as to list networks that arein the profile store above those that are not, and for the networks inthe profile store list, the order in the list is used to order thevisible network list (e.g., a network higher in the profile store listappears higher in the visible network list). Note that in oneimplementation, the ordering rules are decided at a media manager level,(e.g., shown as media manager module(s) 310 ₁-310 _(n) of FIG. 3) andthen by the view available networks UI 202. For example, the mediamanager level provides the view available networks UI 202 with an orderbased on defined ordering rules, which the view available networks UI202 can reorder based upon other information, e.g., with the connectednetwork or networks ordered to appear at the top of the list 506, butretaining the other order. Notwithstanding, the ordering can beperformed at any level or combination of levels, including in theavailable network profiles service, and also may be overridden, e.g., byuser preference data.

If a network is not in the profile store list, the following order maybe used, namely that WPS networks that are not in the profile store listare displayed before other non-profile store list networks, and withinthe list of WPS networks ordering is dependent on the order theunderlying AP is found and the order of the networks stored in theprovisioning service (this should persist the order that was downloadedfrom the network, if more than one network).

Infrastructure networks not in the preferred list are displayed beforead-hoc networks. Within the list of infrastructure networks, ordering isdependent on the order that the wireless auto-configuration servicediscovers them. Ad-hoc networks not in the profile store list aredisplayed last. Within the list of ad-hoc networks, ordering isdependent on the order that the wireless auto-configuration servicediscovers them. Next (for those that are not part of a network profile)are any RAS PPPoE connections, followed by RAS CM connections, RAS VPNconnections and RAS Dial-up connections.

The security status may be displayed for each network (e.g., securityenabled, unsecured) and/or other appropriate text (e.g., showingdiagnostic-type information such as a capability mismatch) is displayedwhen not connected. For each network shown in the list, the signalstrength (if available and appropriate) of each network, as is an iconfor the type of connection available (e.g., VPN) as determined from theprofile service.

FIG. 8 shows how additional information may be provided on hover. Forexample, depending on the network type, if the user hovers over anindividual entry the user can view a tool tip, e.g., for wirelessnetworks, SSID, security type, radio type, signal strength, and possiblyother information may be shown, whereas for WWAN, network name, signalstrength, roaming status and possibly other information may be shown.Hovering over Wi-Max will show SSID, Security type, signal strengthpossibly other information, while hovering over a Bluetooth PAN networkwill show network name and possibly other information. Hovering over aVPN or dial-up may show connection name and connection duration, whilean Ethernet may show adapter name, connection duration, speed, and soforth.

FIGS. 9 and 10 show a right-click (or possibly keyboard initiated, leftclick or double-click) alternative way to connect (FIG. 9) anddisconnect (FIG. 10) to and from a network when the mouse pointer ispositioned over that network. Note that other ways of connecting and/ordisconnecting from a network (e.g., via a system tray icon component222, FIG. 2) are also feasible.

As shown in FIGS. 9 and 10, the “Connect” option switches out the listof profiles to display a list of connections that are contained withinthe selected profile. This allows a user to connect/disconnect anindividual connection. Note that in one example implementation, thisonly appears on network profiles and only when it contains more than oneconnection. A diagnose option may appear, such that if there is aproblem with any of the connections in the profile, this option willshow and when clicked will initiate diagnostics. A turn off Wirelessoption may appear, to turns off the 802.11 wireless, 802.16 (Wi-Max),WWAN, UWB, Bluetooth PAN radios

As can be readily appreciated, because in one implementation theconnection processes are built using a wizard framework or the like, theconnection dialogs can be kept in a page, that is, in frame. Thiscreates a consistent connection experience for the user, as the page maybe modified and/or new pages can be swapped in as required. This alsoallows for seamless extensibility, as a third party can create a page orpages that fit into the existing flow.

While the invention is susceptible to various modifications andalternative constructions, certain illustrated embodiments thereof areshown in the drawings and have been described above in detail. It shouldbe understood, however, that there is no intention to limit theinvention to the specific forms disclosed, but on the contrary, theintention is to cover all modifications, alternative constructions, andequivalents falling within the spirit and scope of the invention.

What is claimed is:
 1. In a computing environment in which a computingdevice is capable of connecting to networks, a method for grouping aplurality of different types of network connections by destinationwithin a graphical user interface, the method comprising: identifying aplurality of network profiles, each network profile including (i) anidentification of a corresponding different network destination and (ii)a specification of one or more network connections that can be used toconnect to the corresponding different network destination, theplurality of network profiles including: a first network profile thatincludes (i) an identification of a first network destination, and (ii)a specification of a first combination of network connections that canbe used to connect to the first network destination, wherein the firstcombination of network connections includes a first combination of oneor more wireless network connections and one or more wired networkconnections; and a second network profile that includes (i) anidentification of a second network destination, and (ii) a specificationof a second combination of a plurality of different types of networkconnections that can be used to connect to the second networkdestination, wherein the second combination of network connectionsincludes a second combination of one or more wireless networkconnections and one or more wired network connections; determining whichof the plurality of network destinations are currently available forconnection, including (i) determining that the first network destinationis available for connection based on at least one network connection ofthe first combination network connections being available, and (ii)determining that the second network destination is unavailable forconnection based on no network connection of the second combinationnetwork connections being available; displaying a common graphical userinterface for grouping a plurality of different types of networkconnections by destination, including displaying a representation ofeach corresponding different network destination, while also displayinga status for each corresponding different network destination, includingdisplaying an available status of the first network destination andconcurrently displaying an unavailable status of the second networkdestination; receiving user input at the common graphical user interfaceselecting the first network destination; and based on the user input,automatically selecting a particular network connection from the firstcombination of network connections, and connecting to the first networkdestination using the particular network connection.
 2. The method ofclaim 1, wherein displaying a representation of each correspondingdifferent network destination comprises displaying each representationin an order that is based upon ordering rules, including displaying anyconnected network destination before any non-connected available networkdestination.
 3. The method of claim 2, further comprising deciding atleast part of the order at a media manager level according to theordering rules.
 4. The method of claim 1, wherein displaying arepresentation of each corresponding different network destinationcomprises displaying a network name and/or a user-friendly name for eachnetwork destination.
 5. The method of claim 1, wherein displaying arepresentation of each corresponding different network destinationcomprises displaying security-related information for at least onenetwork destination.
 6. The method of claim 1, wherein displaying arepresentation of each corresponding different network destinationcomprises displaying wireless signal strength information in connectionwith a least at least one network destination.
 7. The method of claim 1,wherein displaying a representation of each corresponding differentnetwork destination comprises displaying connectivity status for atleast one network destination.
 8. The method of claim 1, whereinautomatically selecting a particular network connection from the firstcombination of network connections, and connecting to the first networkdestination using the particular network connection comprisesautomatically disconnecting from an already connected networkconnection.
 9. The method of claim 1, further comprising, modifying thegraphical user interface to display a representation of a subset of thecorresponding different network destinations.
 10. The method of claim 1,further comprising, displaying information about a network destinationwhen a pointer hovers over that network destination.
 11. A physicalstorage device having stored thereon computer-executable instructions,which when executed perform steps for grouping a plurality of differenttypes of network connections by destination within a graphical userinterface, comprising: identifying a plurality of network profiles, eachnetwork profile including (i) an identification of a correspondingdifferent network destination and (ii) a specification of one or morenetwork connections that can be used to connect to the correspondingdifferent network destination, the plurality of network profilesincluding: a first network profile that includes (i) an identificationof a first network destination, and (ii) a specification of a firstcombination of network connections that can be used to connect to thefirst network destination, wherein the first combination of networkconnections includes a first combination of one or more wireless networkconnections and one or more wired network connections; and a secondnetwork profile that includes (i) an identification of a second networkdestination, and (ii) a specification of a second combination of aplurality of different types of network connections that can be used toconnect to the second network destination, wherein the secondcombination of network connections includes a second combination of oneor more wireless network connections and one or more wired networkconnections; determining which of the plurality of network destinationsare currently available for connection, including (i) determining thatthe first network destination is available for connection based on atleast one network connection of the first combination networkconnections being available, and (ii) determining that the secondnetwork destination is unavailable for connection based on no networkconnection of the second combination network connections beingavailable; displaying a common graphical user interface for grouping aplurality of different types of network connections by destination,including displaying a representation of each corresponding differentnetwork destination, while also displaying a status for eachcorresponding different network destination, including displaying anavailable status of the first network destination and concurrentlydisplaying an unavailable status of the second network destination;receiving user input at the common graphical user interface selectingthe first network destination; and based on the user input,automatically selecting a particular network connection from the firstcombination of network connections, and connecting to the first networkdestination using the particular network connection.
 12. The physicalstorage device of claim 11, wherein displaying a representation of eachcorresponding different network destination comprises displaying eachrepresentation in an order that is based upon ordering rules, includingdisplaying any connected network destination before any non-connectedavailable network destination.
 13. The physical storage device of claim12, further comprising deciding at least part of the order at a mediamanager level according to the ordering rules.
 14. The physical storagedevice of claim 11, wherein displaying a representation of eachcorresponding different network destination comprises displaying anetwork name and/or a user-friendly name for each network destination.15. The physical storage device of claim 11, wherein displaying arepresentation of each corresponding different network destinationcomprises displaying security-related information for at least onenetwork destination.
 16. The physical storage device of claim 11,wherein displaying a representation of each corresponding differentnetwork destination comprises displaying wireless signal strengthinformation in connection with a least at least one network destination.17. The physical storage device of claim 11, wherein displaying arepresentation of each corresponding different network destinationcomprises displaying connectivity status for at least one networkdestination.
 18. The physical storage device of claim 11, whereinautomatically selecting a particular network connection from the firstcombination of network connections, and connecting to the first networkdestination using the particular network connection comprisesautomatically disconnecting from an already connected networkconnection.
 19. The physical storage device of claim 11, furthercomprising, modifying the graphical user interface to display arepresentation of a subset of the corresponding different networkdestinations.
 20. A computer system, comprising: one or more processors;and one or more computer-readable media having stored thereoncomputer-executable instructions, which when executed by the one or moreprocessors, perform steps for grouping a plurality of different types ofnetwork connections by destination within a graphical user interface,comprising: identifying a plurality of network profiles, each networkprofile including (i) an identification of a corresponding differentnetwork destination and (ii) a specification of one or more networkconnections that can be used to connect to the corresponding differentnetwork destination, the plurality of network profiles including: afirst network profile that includes (i) an identification of a firstnetwork destination, and (ii) a specification of a first combination ofnetwork connections that can be used to connect to the first networkdestination, wherein the first combination of network connectionsincludes a first combination of one or more wireless network connectionsand one or more wired network connections; and a second network profilethat includes (i) an identification of a second network destination, and(ii) a specification of a second combination of a plurality of differenttypes of network connections that can be used to connect to the secondnetwork destination, wherein the second combination of networkconnections includes a second combination of one or more wirelessnetwork connections and one or more wired network connections;determining which of the plurality of network destinations are currentlyavailable for connection, including (i) determining that the firstnetwork destination is available for connection based on at least onenetwork connection of the first combination network connections beingavailable, and (ii) determining that the second network destination isunavailable for connection based on no network connection of the secondcombination network connections being available; displaying a commongraphical user interface for grouping a plurality of different types ofnetwork connections by destination, including displaying arepresentation of each corresponding different network destination,while also displaying a status for each corresponding different networkdestination, including displaying an available status of the firstnetwork destination and concurrently displaying an unavailable status ofthe second network destination; receiving user input at the commongraphical user interface selecting the first network destination; andbased on the user input, automatically selecting a particular networkconnection from the first combination of network connections, andconnecting to the first network destination using the particular networkconnection.